package marchingCubes;


import simpleGeom.Vec3D;



public class MCEdge {
	IsMCVertex v1,v2;
	Vec3D m;
	
	MCEdge(IsMCVertex v1,IsMCVertex v2){
		this.v1=v1;
		this.v2=v2;
	}
	
	public void calculateMidPoint(double iso){
		Vec3D d=new Vec3D();
		d.x=v2.getX()-v1.getX();
		d.y=v2.getY()-v1.getY();
		d.z=v2.getZ()-v1.getZ();
		//if ((v1.getValue()<iso&&v2.getValue()>iso)||(v1.getValue()>iso&&v2.getValue()<iso)){
			double dV=v2.getValue()-v1.getValue();
			//if (Math.abs(dV)<)
			double t=(iso-v1.getValue())/(v2.getValue()-v1.getValue());
			
			if (t>0&&t<1);{
				m=new Vec3D();
				
				m.x=(float) (v1.getX()+t*d.x);
				m.y=(float) (v1.getY()+t*d.y);
				m.z=(float) (v1.getZ()+t*d.z);
				
				
			}
			//}
		//}
	}
}
